image: respect DEFAULT and BROKEN when Default profile is selected
authorRobert Marko <[email protected]>
Fri, 16 May 2025 11:18:46 +0000 (13:18 +0200)
committerRobert Marko <[email protected]>
Sat, 24 May 2025 19:51:55 +0000 (21:51 +0200)
Currently, when you select the Default profile it does not honor DEFAULT:=n
nor BROKEN:=y in device profiles but rather just tries to build all of them.

This may work when building directly, but when using Image Builder it will
always fail since no kernel or anything else is present for devices that
have DEFAULT:=n or BROKEN:=Y set since those are skipped during build.

So, lets look for DEFAULT being set to "n" or BROKEN being set to "y" and
then remove clear _PROFILE_SET so they dont end up being marked for
installation.

Fixes: #18410
Link: https://github.com/openwrt/openwrt/pull/18814
Signed-off-by: Robert Marko <[email protected]>
(cherry picked from commit f060615a78e5c5e86829b2e40c3f77e5cf7033bf)

include/image.mk

index a547c88dd94303ca2fdfdff91e5248a6765f2878..7293432085d27c1b3b2b44ee8c61d147c276338b 100644 (file)
@@ -487,6 +487,13 @@ endef
 
 define Device/Check/Common
   _PROFILE_SET = $$(strip $$(foreach profile,$$(PROFILES) DEVICE_$(1),$$(call DEVICE_CHECK_PROFILE,$$(profile))))
+  # Check if device is disabled and if so do not mark to be installed
+  ifeq ($$(DEFAULT),n)
+    _PROFILE_SET :=
+  endif
+  ifeq ($$(BROKEN),y)
+    _PROFILE_SET :=
+  endif
   DEVICE_PACKAGES += $$(call extra_packages,$$(DEVICE_PACKAGES))
   ifdef TARGET_PER_DEVICE_ROOTFS
     $$(eval $$(call merge_packages,_PACKAGES,$$(DEVICE_PACKAGES) $$(call DEVICE_EXTRA_PACKAGES,$(1))))